home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- ** **
- ** Module: QD3DGuide.h **
- ** **
- ** **
- ** Purpose: Guide routines **
- ** **
- ** **
- ** Copyright (C) 1995 Apple Computer, Inc. All rights reserved. **
- ** **
- ** **
- *****************************************************************************/
-
- #if defined(ESCHER_VER_15) && ESCHER_VER_15
-
- #ifndef QD3DGuide_h
- #define QD3DGuide_h
-
- #if PRAGMA_ONCE
- #pragma once
- #endif
-
- #if defined(THINK_C) || defined(__SC__)
- #pragma options(!pack_enums, !align_arrays)
- #pragma SC options align=power
- #elif defined(__MWERKS__)
- #pragma enumsalwaysint on
- #pragma align_array_members off
- #pragma options align=native
- #elif defined(__PPCC__)
- #pragma options align=power
- #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
- #pragma options enum=int
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
-
- /******************************************************************************
- ** **
- ** Guide Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3GuideData {
- TQ3Boolean enable;
- TQ3Boolean visible;
- TQ3BoundingBox bounds;
- } TQ3GuideData;
-
- /******************************************************************************
- ** **
- ** Guide Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3ObjectType Q3Guide_GetType(
- TQ3GuideObject guide);
-
- QD3D_EXPORT TQ3Status Q3Guide_Submit(
- TQ3GuideObject guide,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3Guide_GetEnable(
- TQ3GuideObject guide,
- TQ3Boolean *enable);
-
- QD3D_EXPORT TQ3Status Q3Guide_SetEnable(
- TQ3GuideObject guide,
- TQ3Boolean enable);
-
- QD3D_EXPORT TQ3Status Q3Guide_GetVisible(
- TQ3GuideObject guide,
- TQ3Boolean *visible);
-
- QD3D_EXPORT TQ3Status Q3Guide_SetVisible(
- TQ3GuideObject guide,
- TQ3Boolean visible);
-
- QD3D_EXPORT TQ3Status Q3Guide_GetBounds(
- TQ3GuideObject guide,
- TQ3BoundingBox *bounds);
-
- QD3D_EXPORT TQ3Status Q3Guide_SetBounds(
- TQ3GuideObject guide,
- const TQ3BoundingBox *bounds);
-
- /******************************************************************************
- ** **
- ** LineGuide Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3LineGuideData {
- TQ3GuideData guideData;
- TQ3Point3D position0;
- TQ3Point3D position1;
- TQ3Boolean lineSegment;
- } TQ3LineGuideData;
-
- /******************************************************************************
- ** **
- ** LineGuide Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3GuideObject Q3LineGuide_New(
- const TQ3LineGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_Submit(
- const TQ3LineGuideData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_SetData(
- TQ3GuideObject guide,
- const TQ3LineGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_GetData(
- TQ3GuideObject guide,
- TQ3LineGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_GetPosition0(
- TQ3GuideObject guide,
- TQ3Point3D *position0);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_SetPosition0(
- TQ3GuideObject guide,
- const TQ3Point3D *position0);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_GetPosition1(
- TQ3GuideObject guide,
- TQ3Point3D *position1);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_SetPosition1(
- TQ3GuideObject guide,
- const TQ3Point3D *position1);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_GetLineSegment(
- TQ3GuideObject guide,
- TQ3Boolean *lineSegment);
-
- QD3D_EXPORT TQ3Status Q3LineGuide_SetLineSegment(
- TQ3GuideObject guide,
- TQ3Boolean lineSegment);
-
-
- /******************************************************************************
- ** **
- ** PointGuide Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3PointGuideData {
- TQ3GuideData guideData;
- TQ3Point3D position;
- } TQ3PointGuideData;
-
- /******************************************************************************
- ** **
- ** PointGuide Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3GuideObject Q3PointGuide_New(
- const TQ3PointGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3PointGuide_Submit(
- const TQ3PointGuideData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3PointGuide_SetData(
- TQ3GuideObject guide,
- const TQ3PointGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3PointGuide_GetData(
- TQ3GuideObject guide,
- TQ3PointGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3PointGuide_GetPosition(
- TQ3GuideObject guide,
- TQ3Point3D *position);
-
- QD3D_EXPORT TQ3Status Q3PointGuide_SetPosition(
- TQ3GuideObject guide,
- const TQ3Point3D *position);
-
- /******************************************************************************
- ** **
- ** CircleGuide Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3CircleGuideData {
- TQ3GuideData guideData;
- TQ3Point3D origin;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- } TQ3CircleGuideData;
-
- /******************************************************************************
- ** **
- ** CircleGuide Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3GuideObject Q3CircleGuide_New(
- const TQ3CircleGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_Submit(
- const TQ3CircleGuideData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_SetData(
- TQ3GuideObject guide,
- const TQ3CircleGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_GetData(
- TQ3GuideObject guide,
- TQ3CircleGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_GetOrigin(
- TQ3GuideObject guide,
- TQ3Point3D *origin);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_SetOrigin(
- TQ3GuideObject guide,
- const TQ3Point3D *origin);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_GetMinorRadius(
- TQ3GuideObject guide,
- TQ3Vector3D *axis);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_SetMinorRadius(
- TQ3GuideObject guide,
- const TQ3Vector3D *axis);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_GetMajorRadius(
- TQ3GuideObject guide,
- TQ3Vector3D *axis);
-
- QD3D_EXPORT TQ3Status Q3CircleGuide_SetMajorRadius(
- TQ3GuideObject guide,
- const TQ3Vector3D *axis);
-
- /******************************************************************************
- ** **
- ** PlaneGuide Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3PlaneGuideData {
- TQ3GuideData guideData;
- TQ3Point3D position;
- TQ3Vector3D normal;
- } TQ3PlaneGuideData;
-
- /******************************************************************************
- ** **
- ** PlaneGuide Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3GuideObject Q3PlaneGuide_New(
- const TQ3PlaneGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_Submit(
- const TQ3PlaneGuideData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_SetData(
- TQ3GuideObject guide,
- const TQ3PlaneGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_GetData(
- TQ3GuideObject guide,
- TQ3PlaneGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_GetPosition(
- TQ3GuideObject guide,
- TQ3Point3D *position);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_SetPosition(
- TQ3GuideObject guide,
- const TQ3Point3D *position);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_GetNormal(
- TQ3GuideObject guide,
- TQ3Vector3D *normal);
-
- QD3D_EXPORT TQ3Status Q3PlaneGuide_SetNormal(
- TQ3GuideObject guide,
- const TQ3Vector3D *normal);
-
- /******************************************************************************
- ** **
- ** SphereGuide Data **
- ** **
- *****************************************************************************/
-
- typedef enum TQ3SphereGuideSide {
- kQ3SphereGuideSideFront,
- kQ3SphereGuideSideBack,
- kQ3SphereGuideFromPrime
- } TQ3SphereGuideSide;
-
- typedef struct TQ3SphereGuideData {
- TQ3GuideData guideData;
- TQ3Point3D origin;
- float radius;
- TQ3SphereGuideSide side;
- TQ3Point3D prime;
- } TQ3SphereGuideData;
-
- /******************************************************************************
- ** **
- ** SphereGuide Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3GuideObject Q3SphereGuide_New(
- const TQ3SphereGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_Submit(
- const TQ3SphereGuideData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_SetData(
- TQ3GuideObject guide,
- const TQ3SphereGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_GetData(
- TQ3GuideObject guide,
- TQ3SphereGuideData *data);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_GetOrigin(
- TQ3GuideObject guide,
- TQ3Point3D *origin);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_SetOrigin(
- TQ3GuideObject guide,
- const TQ3Point3D *origin);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_GetRadius(
- TQ3GuideObject guide,
- float *radius);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_SetRadius(
- TQ3GuideObject guide,
- float radius);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_GetSide(
- TQ3GuideObject guide,
- TQ3SphereGuideSide *side);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_SetSide(
- TQ3GuideObject guide,
- TQ3SphereGuideSide side);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_GetPrime(
- TQ3GuideObject guide,
- TQ3Point3D *prime);
-
- QD3D_EXPORT TQ3Status Q3SphereGuide_SetPrime(
- TQ3GuideObject guide,
- const TQ3Point3D *prime);
-
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
-
- #if defined(__MWERKS__)
- #pragma enumsalwaysint reset
- #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
- #pragma options enum=reset
- #endif
-
- #endif /* QD3DGuide_h */
-
- #endif /* ESCHER_VER_15 */
-